home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 May / macformat-024.iso / Shareware City / Developers / BoxMaker++ / Monochromize ƒ / grafport.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-20  |  1.9 KB  |  82 lines  |  [TEXT/KAHL]

  1. #pragma once
  2.  
  3. class grafport
  4. {
  5.     public:
  6.         ~grafport();
  7.         void use() const;
  8.         void get_rect( Rect *rect) const;
  9.         void get_pixH( PixMapPtr *pix) const;
  10.         void copyfrom( const grafport &source, const short mode = srcCopy,
  11.                                         const RgnHandle maskRgn = 0) const;
  12.  
  13.         void copyfrom( const grafport &source, const Rect &origRect, const Rect &destRect,
  14.                         const short mode = srcCopy, const RgnHandle maskRgn = 0) const;
  15.  
  16.         void copyfrom( const grafport &source, const Rect &origRect,
  17.                         const short mode = srcCopy, const RgnHandle maskRgn = 0) const;
  18.  
  19.         void copyfrom( const grafport &source, const grafport &mask,
  20.                         const short mode = srcCopy, const RgnHandle maskRgn = 0) const;
  21.  
  22.         void copyfrom( const grafport &source, const grafport &mask, const Rect &origRect,
  23.                             const Rect &maskRect, const Rect &destRect,
  24.                         const short mode = srcCopy, const RgnHandle maskRgn = 0) const;
  25.  
  26.         void scroll( short dh, short dv) const;
  27.  
  28.         PicHandle getPICT() const;
  29.         
  30.         void cls_black() const;
  31.         void cls_white() const;
  32.         void invert() const;
  33.  
  34.         void setentries( short start, short count, ColorSpec *theTable) const;
  35.         void SetColorTable( short resID) const;
  36.         void SetColorTable( CTabHandle theColorTable) const;
  37.         
  38.     protected:
  39.         static const grafport *currentport;
  40.         
  41.         GWorldPtr    myGWorldPtr;
  42.         GDHandle     myGDHandle;
  43.         
  44.         Rect         myRect;
  45.         PixMapPtr    myPix;        
  46. };
  47.  
  48. inline void grafport::get_rect( Rect *rect) const
  49. {
  50.     *rect   = myRect;
  51. }
  52.  
  53. inline void grafport::get_pixH( PixMapPtr *pix) const
  54. {
  55.     *pix = myPix;
  56. }
  57.  
  58. inline void grafport::copyfrom( const grafport &source, const short mode, const RgnHandle maskRgn) const
  59. {
  60.     use();
  61.     CopyBits( (BitMapPtr)(source.myPix), (BitMapPtr)myPix,
  62.                     &(source.myRect), &myRect, mode, maskRgn);
  63. }
  64.  
  65. inline void grafport::cls_black() const
  66. {
  67.     use();
  68.     PaintRect( &myRect);
  69. }
  70.  
  71. inline void grafport::cls_white() const
  72. {
  73.     use();
  74.     EraseRect( &myRect);
  75. }
  76.  
  77. inline void grafport::invert() const
  78. {
  79.     use();
  80.     InvertRect( &myRect);
  81. }
  82.